package com.qtenv.datasync.service.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * <p>
 * dma冻结数据
 * </p>
 *
 * @author CBL
 * @since 2022-08-03
 */
@Data
@TableName("dm_dma_freeze")
@ApiModel(value = "DmaFreeze对象", description = "dma冻结数据")
public class DmaFreeze implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty("id")
    @TableField("id")
    private String id;

    @ApiModelProperty("设备归属租户")
    @TableField("tenant_id")
    private String tenantId;

    @ApiModelProperty("层级id")
    @TableField("areaid")
    private String areaid;

    @ApiModelProperty("供水量")
    @TableField("input_flow")
    private BigDecimal inputFlow;

    @ApiModelProperty("售水量")
    @TableField("sale_water")
    private BigDecimal saleWater;

    @ApiModelProperty("进水流量（m³）")
    @TableField("inlet_flow")
    private BigDecimal inletFlow;

    @ApiModelProperty("出水流量（m³）")
    @TableField("outlet_flow")
    private BigDecimal outletFlow;

    @ApiModelProperty("无收益水量")
    @TableField("free_water")
    private BigDecimal freeWater;

    @ApiModelProperty("监控表用水量，总表关系中类型为“流量计”的表用水量之和")
    @TableField("jk_flow")
    private BigDecimal jkFlow;

    @ApiModelProperty("户表用水量（m³，独立户表）")
    @TableField("household_flow")
    private BigDecimal householdFlow;

    @ApiModelProperty("楼栋用水量（m³）该分区下所有挂接的楼栋用水量之和（楼栋表有挂接总表则用楼栋总表之和，没有挂接则该楼栋下挂接的户表水量之和）")
    @TableField("building_flow")
    private BigDecimal buildingFlow;

    @ApiModelProperty("大用户用水量（m³）")
    @TableField("senior_flow")
    private BigDecimal seniorFlow;

    @ApiModelProperty("消火栓用水量（m³）")
    @TableField("hydrant_flow")
    private BigDecimal hydrantFlow;

    @ApiModelProperty("背景漏失（m³/h）")
    @TableField("uarl")
    private BigDecimal uarl;

    @ApiModelProperty("最小夜间流量-监测值")
    @TableField("mnf_day")
    private BigDecimal mnfDay;

    @ApiModelProperty("周最小夜间流量（立方/小时）（保留设计，暂不实现）")
    @TableField("mnf_week")
    private Integer mnfWeek;

    @ApiModelProperty("月最小夜间流量算法1（立方/小时）（保留设计，暂不实现）")
    @TableField("mnf_month1")
    private BigDecimal mnfMonth1;

    @ApiModelProperty("月最小夜间流量算法2（立方/小时）算法二：选一个收费账期（一个月）内由大到小排序值，倒序七个“日最小夜间流量”数据的均值；")
    @TableField("mnf_month")
    private BigDecimal mnfMonth;

    @ApiModelProperty("夜间合法用水瞬时流量（立方米/小时）")
    @TableField("legal_night_flow")
    private BigDecimal legalNightFlow;

    @ApiModelProperty("当天整天平均压力")
    @TableField("pressure_daily")
    private BigDecimal pressureDaily;

    @ApiModelProperty("区域夜间平均压力值（AZNP）")
    @TableField("pressure_night")
    private BigDecimal pressureNight;

    @ApiModelProperty("物理漏损瞬时流量")
    @TableField("physical_leakage_instant")
    private BigDecimal physicalLeakageInstant;

    @ApiModelProperty("日物理漏失流量（立方米）")
    @TableField("physical_leakage_daily")
    private BigDecimal physicalLeakageDaily;

    @ApiModelProperty("周物理漏失流量（立方米）（保留设计，暂不实现）")
    @TableField("physical_leakage_week")
    private BigDecimal physicalLeakageWeek;

    @ApiModelProperty("月物理漏失累计量（立方米）")
    @TableField("physical_leakage_month")
    private BigDecimal physicalLeakageMonth;

    @ApiModelProperty("冻结时间")
    @TableField("freezetime")
    private String freezetime;

    @ApiModelProperty("冻结类型，时：hour，日：day，周：week，月：month，年：year，")
    @TableField("frozen_type")
    private String frozenType;

    @ApiModelProperty("创建时间")
    @TableField("create_time")
    private Date createTime;

    @ApiModelProperty("账期")
    @TableField("paydate")
    private String paydate;

    @ApiModelProperty("供水量环比")
    @TableField("hb")
    private String hb;

    @ApiModelProperty("产销差率")
    @TableField("cxcl")
    private String cxcl;

    @TableField(exist = false)
    private String AreaName;

    @TableField(exist = false)
    private String bjll;

    @TableField(exist = false)
    private String inputFlowRatio;

    @TableField(exist = false)
    private String buildingFlowRatio;

    @TableField(exist = false)
    private String householdFlowRatio;

    @TableField(exist = false)
    private String buildingProdSaleRatio;

    @TableField(exist = false)
    private String areaLeakRatio;

    @TableField(exist = false)
    private String buildingLeakRatio;

    @TableField(exist = false)
    private String dailyLostFlow;

    @TableField(exist = false)
    private String dailyLostValue;

    @TableField(exist = false)
    private String monthlyLostFlow;

    @TableField(exist = false)
    private String monthlyLostValue;

    @TableField(exist = false)
    private String annualLostFlow;

    @TableField(exist = false)
    private String annualLostValue;

    @TableField(exist = false)
    private String waterPrice;
    @TableField(exist = false)
    private String totalLeakageFLow;

    @TableField(exist = false)
    private String physicalLeakageFlow;

    @TableField(exist = false)
    private String controlLeakageFlow;

    @TableField(exist = false)
    private String backgroundLeakageFlow;

    @TableField(exist = false)
    private String overflowLeakageFlow;

    @TableField(exist = false)
    private String leakageFlowPerDay;

    @TableField(exist = false)
    private String leakageApertureEstimation;

    @TableField(exist = false)
    private String handleEffect;

    @TableField(exist = false)
    private String paybackPeriodEstimation;

    @TableField(exist = false)
    private String handleRecommendations;

    @TableField(exist = false)
    private String minNightFlow;

    @TableField(exist = false)
    private String dataTime;

    @TableField(exist = false)
    private String dataType;
}